package com.canaan.business.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.canaan.common.annotation.Excel;
import com.canaan.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 销售订单对象 wms_order
 *
 * @author ruoyi
 * @date 2022-12-13
 */
@Data
public class WmsSalesOrderVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    private Long id;



    /**
     * 销售订单状态 1新建 2进行中
     */
    @Excel(name = "销售订单状态", type = Excel.Type.EXPORT, dictType = "invoice_order_status")
    private Integer orderStatus;



    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 订单总数
     */
    @Excel(name = "订单总数", type = Excel.Type.EXPORT)
    private Long totalOrderQty;

    /**
     * 计划出库时间
     */
    @Excel(name = "计划出库时间", dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date planDeliveryTime;

    /**
     * 完成时间
     */
    @Excel(name = "完成时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;


    /**
     * 物料编号
     */
    @Excel(name = "物料编号")
    private String productNo;

    /**
     * 物料名称
     */
    @Excel(name = "物料名称", type = Excel.Type.EXPORT)
    private String productName;

    /**
     * 销售订单明细状态，1新建 2待拣货 3已拣货
     */
//    @Excel(name = "销售订单明细状态", type = Excel.Type.EXPORT, dictType = "invoice_sales_order_detail_status")
    private Integer orderDetailStatus;

    /**
     * 订单数量
     */
    @Excel(name = "订单数量")
    private Long orderQty;


    /**
     * 创建人
     */
    @Excel(name = "创建人", type = Excel.Type.EXPORT)
    private String createBy;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新人
     */
    @Excel(name = "更新人", type = Excel.Type.EXPORT)
    private String updateBy;

    /**
     * 更新时间
     */
    @Excel(name = "最后更新时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;



}
